From 1bf7f5eacbbf6ba10207e27e0789ad797d80d96b Mon Sep 17 00:00:00 2001 From: Carlos Garnacho Date: Tue, 8 Jun 2021 15:06:29 +0200 Subject: [PATCH] spinbutton: Connect swipe gesture to the text entry In the GTK3 days, the spin button was an entry, with buttons on top, and the swipe gesture affected the input on the entry bits. Now the spin button is a container, so this gesture in the capture phase applies to all contained children (incl. buttons). Attach this gesture to the entry itself, so the buttons are left outside this business. The gesture is still in the capture phase in order to prevent text selection/edition/etc to happen. Fixes: https://gitlab.gnome.org/GNOME/gtk/-/issues/4008 --- gtk/gtkspinbutton.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/gtk/gtkspinbutton.c b/gtk/gtkspinbutton.c index f54b8a7eb6..303a080e72 100644 --- a/gtk/gtkspinbutton.c +++ b/gtk/gtkspinbutton.c @@ -1075,7 +1075,8 @@ gtk_spin_button_init (GtkSpinButton *spin_button) G_CALLBACK (swipe_gesture_begin), spin_button); g_signal_connect (gesture, "update", G_CALLBACK (swipe_gesture_update), spin_button); - gtk_widget_add_controller (GTK_WIDGET (spin_button), GTK_EVENT_CONTROLLER (gesture)); + gtk_widget_add_controller (GTK_WIDGET (spin_button->entry), + GTK_EVENT_CONTROLLER (gesture)); controller = gtk_event_controller_scroll_new (GTK_EVENT_CONTROLLER_SCROLL_VERTICAL | GTK_EVENT_CONTROLLER_SCROLL_DISCRETE); -- 2.30.2